11
תגובות

עזרה ב-include ו-require

פתח yardsod ,
אהלן,
אני כרגע בונה מערכת CMS, ורציתי לדעת אם יש דרך טובה ל-include קובץ החיבור למסד הנתונים.
במקום לסדר בכל קובץ את הנתיב של config.php כמו בדוגמא:
include "../../includes/config.php";

וב-
include "includes/config.php";

ישנה שיטה (קוד) שפשוט בודקת את המיקום של הקובץ הנוכחי ומסדרת נתיב אוטומטית?
חשבתי על רעיון לבנות מחלקה כזאת, אבל לפני שאני בונה אותה רציתי לדעת אם כבר קיימת שיטה כזאת...
כרגיל, תודה לעזרים.

11 תשובות

avatar ענה ldbrgr ב 22 לספטמבר 2013 #

טעינת סקריפטים לפי דרישה autoload
אתה צריך סקריפט "main" שדרכו ינוטו כל הבקשות ושם יפתחו או יוגדרו כל החיבורים למסד במקום לעשות include בכל סקריפט.

avatar ענה yardsod ב 22 לספטמבר 2013 #

קראתי את המדריך ואני חושב שהבנתי. אבל כל הקבצים יהיו חייבים להיות באותה תיקייה?

avatar ענה yonikal56 ב 22 לספטמבר 2013 #

רצוי, אתה יכול לשנות את שם הקובץ שיהיה לך נוח למשל:
a.php
ל:
include_a.php
זה יהיה לך נוח אולי במקום תיקיות.

avatar ענה yardsod ב 22 לספטמבר 2013 #

כבר בניתי מבנה מסויים של תיקיות למערכת, ובגלל שזאת מערכת די מורחבת יש הרבה קבצים ושימוש בתקיות הרבה יותר נוח.
אני אברר עוד על ה-autoload.

avatar ענה yonikal56 ב 22 לספטמבר 2013 #

בהצלחה, אני משתמש בתיקיות לתמונות ודברים כאלה אבל לא לקבצים של PHP, שם הכל באותה תיקיה

avatar ענה OrelBeY ב 22 לספטמבר 2013 #

@yonikal56, אתה רציני? מה עם פרויקטים גדולים? ומה עם היררכיה ו-Design?

avatar ענה yonikal56 ב 22 לספטמבר 2013 #

כל סוג קבצים אני שם בתיקיה חוץ מPHP וCSS שבאותה תיקיה, אני משתמש בשמות לפי הצורך.
אני לא בונה פרוייקטים גדולים כי אין לי רעיונות, אני בניתי עד עכשיו בPHP רק שני אתרים אחד בניתי והפסקתי. וזה רק אמור לשמש כ"עיר וירטואלית" אז זה פרויקט קטן. יש רק תמונות וקבצים של עצוב וPHP.

avatar ענה OrelBeY ב 22 לספטמבר 2013 #

ובכל זאת, זה הרגל טוב להשתמש בהיררכיה נכונה.
@yardsod, אם עדיין יהיו לך שאלות אחרי שתחפש - אל תהסס לשאול.

avatar ענה yonikal56 ב 22 לספטמבר 2013 #

אם הייתי בונה פרוייקט גדול אז הייתי מפריד כל סוג קבצים לדברים חוץ מזה.
שבניתי פעם פעילות לאתר, אז הייתה לה תיקייה משלה לדברים שלה.

avatar ענה yardsod ב 22 לספטמבר 2013 #

תודה. אני אשים כמה מחלקות חשובות ב-config.php ואשתמש בautoload.

avatar ענה ldbrgr ב 23 לספטמבר 2013 #

לא, הקבצים לא חייבים להיות באותה תיקיה, יש כמה דרכים לחלק אותם לתיקיות; רובן עובדות עם namespaces
והסטנדרט בקהילה הוא PSR-0